package cn.tedu.basic;/**
 * @Author 金帮嘉诚 @Date 2021-06-25 星期五 19:42
 */
/**知识点
 * 整形、浮点型 使用 对应包装类类名.MAXVALUE 获取取值范围
 * byte类型的最大值是:127
 * byte类型的最小值是:-128
 * short类型的最大值是:32767
 * short类型的最小值是:-32768
 * long类型的最大值是:9,223,372,036,854,775,807
 * long类型的最小值是:-9,223,372,036,854,775,808
 * int类型的最大值是:2,147,483,647
 * int类型的最小值是:-2,147,483,648
 * float类型的最小值是：1.4E-45
 * float类型的最大值是：3.4028235E38
 * double类型的最小值是：4.9E-324
 * double类型的最大值是：1.7976931348623157E308
 *
 * 基本类型         字节空间                  取值范围                    取值范围
 * byte             1               [-2^(1*8-1),2^(1*8-1)-1)       [-2^7,2^7-1)
 * short            2               [-2^(2*8-1),2^(2*8-1)-1)       [-2^15,2^15-1)
 * int              4                        ...                   [-2^31,2^31-1)
 * long             8                        ...                   [-2^63,2^63-1)
 * float            4
 * double           8
 * boolean          1
 * char             2                                              [0,65535]
 *                默认值
 * long            0L
 * float          0.0f
 * double         0.0d
 * char         ‘\u0000’
 * boolean        false
 * */
import java.util.Scanner;

/*
 * 本类用于测试几种基本类型的取值范围
 */
public class TestTypeScope {
    // 1.创建入口函数
    public static void main(String[] args) {
        /*
         * 进行整型类型的数据测试 byte short int long
         */
        // 2.定义对应类型的变量，分别保存最大值与最小值 byte的工具箱Byte
        byte byteMax = Byte.MAX_VALUE;// 保存byte类型的最大值
        byte byteMin = Byte.MIN_VALUE;// 保存byte类型的最小值
        // 3.打印获取到的对应类型的最大值和最小值
        // Ctrl+Alt+向下键--快速向下复制一行 如果反转屏幕，禁用系统快捷键
        System.out.println("byte类型的最大值是:" + byteMax);// 127
        System.out.println("byte类型的最小值是:" + byteMin);// -128

        short shortMax = Short.MAX_VALUE;// 保存short的最大值
        short shortMin = Short.MIN_VALUE;// 保存short的最小值
        System.out.println("short类型的最大值是:" + shortMax);// 32767
        System.out.println("short类型的最小值是:" + shortMin);// -32768

        // Ctrl+F--可以使用查找替换功能replace All
        long longMax = Long.MAX_VALUE;// 保存long的最大值
        long longMin = Long.MIN_VALUE;// 保存long的最小值
        System.out.println("long类型的最大值是:" + longMax);// 9223372036854775807
        System.out.println("long类型的最小值是:" + longMin);// -9223372036854775808

        /* 注意int类型的工具箱是Integer */
        int intMax = Integer.MAX_VALUE;// 保存int的最大值
        int intMin = Integer.MIN_VALUE;// 保存int的最小值
        System.out.println("int类型的最大值是:" + intMax);// 2147483647
        System.out.println("int类型的最小值是:" + intMin);// -2147483648

        /*
         * 测试浮点类型的数据float double
         */
        float floatMax = Float.MAX_VALUE;// 其值表示精确度，不是最值
        float floatMin = Float.MIN_VALUE;
        System.out.println("float类型的最小值是：" + floatMin);
        System.out.println("float类型的最大值是：" + floatMax);

        double doubleMax = Double.MAX_VALUE;
        double doubleMin = Double.MIN_VALUE;
        System.out.println("double类型的最小值是：" + doubleMin);
        System.out.println("double类型的最大值是：" + doubleMax);

        /*
         * 测试布尔类型
         */

        boolean b1 = true;// 真1
        boolean b2 = false;// 假0

        /*
         * 测试字符类型char
         * 1.char类型可以保存一个字符/汉字/数字
         * 但是如果保存的是数字，打印的时候会查ASCI码表把对应的字符拿出来
         * 2.ASCII码表中规定了0-127对应的字符，128-65535以问号处理
         */
        char c1 = 'a';// 字符类型可以保存一个字符
        char c2 = '中';// 可以保存一个汉字
        char c3 = 65;//

        System.out.println("c1:"+c1);
        System.out.println("c2:"+c2);
        System.out.println("c3:"+c3);
        System.out.println("b1:"+b1);
        System.out.println("b2:"+b2);

        String sentence_1=new Scanner(System.in).nextLine();
        System.out.println("你输入的是："+sentence_1);

    }

}
